#include "heroe.h"



cHeroe::cHeroe(MapaSprites animacion,deque<sAnimacionSprites> animacionPiso)
						:cAnimacion(animacion,animacionPiso)
{

tendenciaMovimientoX=0;
tendenciaMovimientoY=0;
}

	int cHeroe::MovimientoHeroe(short matrizColisiones[32][28])
{

	int retorno=-1;
VerificarTeclas();
	
if(CambioX()==POSITIVA&&tendenciaMovimientoX==0)
{
	

CorrerAnimacionActual(0);


	if(matrizColisiones[tendenciaY][tendenciaX+1]==COMIDA||
	   matrizColisiones[tendenciaY][tendenciaX+1]==LIBRE||
	   matrizColisiones[tendenciaY][tendenciaX+1]==TELETRASPORTACION||
	   matrizColisiones[tendenciaY][tendenciaX+1]==SUPERCOMIDA)
	{
	CambiarY(0);

		//////////////////////SCORE
			if(matrizColisiones[tendenciaY][tendenciaX+1]==COMIDA)
				retorno=COMIDA;
				if(matrizColisiones[tendenciaY][tendenciaX+1]==SUPERCOMIDA)
				retorno=SUPERCOMIDA;

			if(matrizColisiones[tendenciaY][tendenciaX+1]==TELETRASPORTACION)
			{
				x=10;
				tendenciaX=1;
				//matrizColisiones[heroe->tendenciaY][heroe->tendenciaX]=9;
			}else
			{

		matrizColisiones[tendenciaY][tendenciaX]=LIBRE;
			}
	  tendenciaMovimientoX=5;
	  tendenciaX++;
	}
}

if(CambioX()==NEGATIVA&&tendenciaMovimientoX==0)
{

	CorrerAnimacionActual(1);

	if(matrizColisiones[tendenciaY][tendenciaX-1]==COMIDA||
	   matrizColisiones[tendenciaY][tendenciaX-1]==LIBRE||
	   matrizColisiones[tendenciaY][tendenciaX-1]==TELETRASPORTACION||
	   matrizColisiones[tendenciaY][tendenciaX-1]==SUPERCOMIDA)
	{

			CambiarY(0);
			if(matrizColisiones[tendenciaY][tendenciaX-1]==COMIDA)
				retorno=COMIDA;
						if(matrizColisiones[tendenciaY][tendenciaX-1]==SUPERCOMIDA)
				retorno=SUPERCOMIDA;

			if(matrizColisiones[tendenciaY][tendenciaX-1]==TELETRASPORTACION)
			{
				x=270;
				tendenciaX=27;
				
			}else 


		matrizColisiones[tendenciaY][tendenciaX]=LIBRE;
	  tendenciaMovimientoX=-5;
	  tendenciaX--;
	}
}
if(CambioY()==POSITIVA&&tendenciaMovimientoY==0)
{
	CorrerAnimacionActual(3);

	if(matrizColisiones[tendenciaY+1][tendenciaX]==COMIDA||
	   matrizColisiones[tendenciaY+1][tendenciaX]==LIBRE||
	   matrizColisiones[tendenciaY+1][tendenciaX]==SUPERCOMIDA)
	{
			CambiarX(0);

		if(matrizColisiones[tendenciaY+1][tendenciaX]==COMIDA)
		retorno=COMIDA;
				if(matrizColisiones[tendenciaY+1][tendenciaX]==SUPERCOMIDA)
		retorno=SUPERCOMIDA;

		 matrizColisiones[tendenciaY][tendenciaX]=LIBRE;

	  tendenciaMovimientoY=5;
	  tendenciaY++;
	}
}


if(CambioY()==NEGATIVA&&tendenciaMovimientoY==0)
{
	CorrerAnimacionActual(2);


	if(matrizColisiones[tendenciaY-1][tendenciaX]==COMIDA||
	   matrizColisiones[tendenciaY-1][tendenciaX]==LIBRE||
	   matrizColisiones[tendenciaY-1][tendenciaX]==SUPERCOMIDA)
	{

			CambiarX(0);
		if(matrizColisiones[tendenciaY-1][tendenciaX]==COMIDA)
		retorno=COMIDA;
				if(matrizColisiones[tendenciaY-1][tendenciaX]==SUPERCOMIDA)
		retorno=SUPERCOMIDA;
		

		 matrizColisiones[tendenciaY][tendenciaX]=LIBRE;
	  tendenciaMovimientoY=-5;
	  tendenciaY--;
	}

}


if(tendenciaMovimientoX>0)
{
x+=velocidad;
tendenciaMovimientoX--;
}


if(tendenciaMovimientoX<0)
{
x-=velocidad;
tendenciaMovimientoX++;
}



if(tendenciaMovimientoY>0)
{
y+=velocidad;
tendenciaMovimientoY--;
}


if(tendenciaMovimientoY<0)
{
y-=velocidad;
tendenciaMovimientoY++;
}


return retorno;
}
